package com.module.basic.service;

import java.util.List;
import com.baomidou.mybatisplus.extension.service.IService;
import com.module.basic.domain.BasicDevice;
import com.module.common.core.domain.Ztree;

/**
 * 采集设备Service接口
 * 
 * @author ruoyi
 * @date 2025-05-17
 */
public interface IBasicDeviceService extends IService<BasicDevice>
{
    /**
     * 查询采集设备
     * 
     * @param deviceId 采集设备主键
     * @return 采集设备
     */
    public BasicDevice selectBasicDeviceByDeviceId(Long deviceId);

    /**
     * 查询采集设备列表
     * 
     * @param basicDevice 采集设备
     * @return 采集设备集合
     */
    public List<BasicDevice> selectBasicDeviceList(BasicDevice basicDevice);

    /**
     * 新增采集设备
     * 
     * @param basicDevice 采集设备
     * @return 结果
     */
    public int insertBasicDevice(BasicDevice basicDevice);

    /**
     * 修改采集设备
     * 
     * @param basicDevice 采集设备
     * @return 结果
     */
    public int updateBasicDevice(BasicDevice basicDevice);

    /**
     * 批量删除采集设备
     * 
     * @param deviceIds 需要删除的采集设备主键集合
     * @return 结果
     */
    public int deleteBasicDeviceByDeviceIds(String deviceIds);

    /**
     * 删除采集设备信息
     * 
     * @param deviceId 采集设备主键
     * @return 结果
     */
    public int deleteBasicDeviceByDeviceId(Long deviceId);

    /**
     * 校验项目新是否存在
     * @param basicDevice
     * @return
     */
    public boolean checkDeviceImeiUnique(BasicDevice basicDevice);

    /**
     * 导入采集设备信息数据
     *
     * @param basicDeviceList 采集设备信息数据列表
     * @param isUpdateSupport 是否更新支持，如果已存在，则进行更新数据
     * @param operName 操作人
     * @return 结果
     */
    public String importBasicDevice(List<BasicDevice> basicDeviceList, Boolean isUpdateSupport, String operName);
}
